Methods, systems, and devices for bandwidth conservation

ABSTRACT

Aspects of bandwidth conservation include monitoring, via a processor over a period of time, program state information for content streamed to an electronic device, and accumulating, in a memory device via the processor, inputs received over the period of time from a user of the electronic device. Each of the inputs is correlated to the program state information based on a location in the content at which the corresponding input occurred. Aspects further include identifying patterns of user behavior based on collective correlations between the inputs and the program state information, determining from the patterns a presence or absence of the user at the electronic device with respect to currently streamed content when no inputs are received by the user, and performing a bandwidth control operation with respect to the currently streamed content based on the determined presence or absence of the user.

CROSS-REFERENCE TO RELATED APPLICATIONS

This application is a continuation of U.S. patent application Ser. No.14/193,652, filed Feb. 28, 2014 which is a continuation of U.S. patentapplication Ser. No. 11/298,402, filed on Dec. 9, 2005, which furtherclaims the benefit of U.S. Provisional Patent Application 60/713,487,filed Sep. 1, 2005, entitled “TV Bandwidth Conservation Based On UserPresence Detection Using Remote Control,” and incorporated herein byreference in its entirety.

BACKGROUND

This application generally relates to interactive multimediadistribution systems and, more particularly, to presence detection insuch systems.

Bandwidth is becoming a problem in the communications industry. Assubscribers demand more and more content, higher definition services,interactive services, and data services, the existing networkinfrastructure has trouble supplying adequate bandwidth. The industry ishard at work identifying new ways of increasing bandwidth. The industryis also striving to reduce wasted bandwidth.

An “always on” set-top box is one example of wasted bandwidth. An“always on” set-top box continually receives content, even while no oneis watching television. When the set-top box remains powered “on” andtuned to a channel, the set-top box consumes bandwidth. Often times,however, that channel is not watched and bandwidth is wasted. Many cablesubscribers, for example, forget to, or are unable to, turn “off” theirset-top box. Many subscribers power “off” the television, yet theset-top box remains powered “on” and receiving content. It's notuncommon for a set-top box to continually receive a video stream whilethe subscriber sleeps for hours and/or vacations for days. No one iswatching the content, yet the set-top box is consuming networkbandwidth. Because communications networks need to efficiently utilizebandwidth, there is a need in the art for reducing bandwidthconsumption.

BRIEF SUMMARY

In accordance with exemplary embodiments, methods, systems, devices, andcomputer program products that conserve bandwidth in communicationsnetworks are provided. A method includes monitoring, via a processorover a period of time, program state information for content streamed toan electronic device. The method also includes accumulating, in a memorydevice via the processor, inputs received over the period of time from auser of the electronic device. Each of the inputs is correlated to theprogram state information based on a location in the content at whichthe corresponding input occurred. The method further includesidentifying patterns of user behavior based on collective correlationsbetween the inputs and the program state information, determining fromthe patterns a presence or absence of the user at the electronic devicewith respect to currently streamed content when no inputs are receivedby the user, and performing a bandwidth control operation with respectto the currently streamed content based on the determined presence orabsence of the user.

Other systems, methods, and/or devices according to the exemplaryembodiments will be or become apparent to one with skill in the art uponreview of the following drawings and detailed description. It isintended that all such additional systems, methods, and/or devices beincluded within this description, be within the scope of the exemplaryembodiments, and be protected by the accompanying claims.

BRIEF DESCRIPTION OF THE DRAWINGS

These and other features, aspects, and advantages of the exemplaryembodiments are better understood when the following DetailedDescription is read with reference to the accompanying drawings,wherein:

FIG. 1 is a simplified schematic illustrating an operating environment,according to exemplary embodiments;

FIG. 2 is a more detailed schematic illustrating exemplary embodiments;

FIG. 3 is a schematic illustrating a bandwidth prompt 50, according toeven more exemplary embodiments;

FIG. 4 illustrates a reduced resolution message, according to yet moreexemplary embodiments;

FIG. 5 is a schematic illustrating transmission of a reduced resolutionstream of data, according to exemplary embodiments;

FIG. 6 is a schematic illustrating local retrieval of content, accordingto more exemplary embodiments;

FIG. 7 is a schematic illustrating the use of user preferences whenconserving bandwidth, according to yet more exemplary embodiments;

FIG. 8 is a schematic illustrating the restored, full-resolution stream12 of data, according to exemplary embodiments;

FIG. 9 is a schematic illustrating the use of tags, according to stillmore exemplary embodiments;

FIG. 10 is a schematic illustrating an alternative operating environmentfor the presence detection application 18, according to more exemplaryembodiments;

FIGS. 11-12 are schematics illustrating solutions for a broadband remoteaccess server (BRAS), according to even more exemplary embodiments;

FIG. 13 is a schematic illustrating various types of electronic devices,according to exemplary embodiments;

FIG. 14 is a schematic illustrating various types of multimedia devices,according to exemplary embodiments;

FIGS. 15-17 are schematics further illustrating the electronic devicestoring the presence detection application, according to exemplaryembodiments;

FIG. 18 is a schematic further illustrating the electronic device,according to exemplary embodiments; and

FIG. 19 is a flowchart illustrating a method of conserving bandwidth,according to more exemplary embodiments.

DETAILED DESCRIPTION OF EXEMPLARY EMBODIMENTS

The exemplary embodiments now will be described more fully hereinafterwith reference to the accompanying drawings. The reader shouldrecognize, however, that the exemplary embodiments may be embodied inmany different forms and should not be construed as limited to theembodiments set forth herein. These embodiments are provided so thatthis disclosure will be thorough and complete and will fully convey thescope of the exemplary embodiments. Moreover, all statements hereinreciting exemplary embodiments, as well as specific examples thereof,are intended to encompass both structural and functional equivalentsthereof. Additionally, it is intended that such equivalents include bothcurrently known equivalents as well as equivalents developed in thefuture (i.e., any elements developed that perform the same function,regardless of structure).

Thus, for example, it will be appreciated by those of ordinary skill inthe art that the diagrams, schematics, illustrations, and the likerepresent conceptual views or processes illustrating systems and methodsof the exemplary embodiments. The functions of the various elementsshown in the figures may be provided through the use of dedicatedhardware as well as hardware capable of executing associated software.Similarly, any switches shown in the figures are conceptual only. Theirfunction may be carried out through the operation of program logic,through dedicated logic, through the interaction of program control anddedicated logic, or even manually, the particular technique beingselectable by the entity implementing the exemplary embodiments. Thoseof ordinary skill in the art further understand that the exemplaryhardware, software, processes, methods, and/or operating systemsdescribed herein are for illustrative purposes and, thus, are notintended to be limited to any particular named manufacturer.

The exemplary embodiments describe methods, systems, and devices thatconserve bandwidth in communications networks. These exemplaryembodiments describe how a multimedia service provider can reduce theoccurrences of wasted bandwidth. These exemplary embodiments minimizebandwidth consumption of an established session by detecting thephysical presence of a user. If the user is physically present, then theexemplary embodiments deliver a stream of data to a multimediaelectronic device, and a bit rate of the stream of data is appropriateto the needs of the electronic device. If, however, the physicalpresences of the user cannot be detected, inferred, or predicted, thenthere is little or no need for a full-resolution feed to the electronicdevice. The exemplary embodiments, instead, degrade or even terminatethe stream of data to conserve bandwidth in the network. The terms“degrade,” “degraded,” “degradation,” and other variants mean theresolution of the stream of data is reduced to conserve bandwidth. Whenthe stream of data is degraded, the degraded stream of data stillpreserves an established data session, yet the degraded stream of datahas a reduced bit rate to reduce bandwidth consumption. When thephysical presence of the user is again detected or inferred, then theexemplary embodiments restore the stream of data to its full-resolutiondata rate. The exemplary embodiments, therefore, reduce the occurrencesof wasted bandwidth.

FIG. 1 is a simplified schematic illustrating an operating environment,according to exemplary embodiments. FIG. 1 shows an electronic device 10receiving a stream 12 of data via a communications network 14. Theelectronic device 10 can be any device, such as a set-top box, atelevision, or an integrated television and set-top box. The electronicdevice 10 may also be an analog/digital recorder, CD/DVDplayer/recorder, audio equipment, receiver, tuner, and/or any otherconsumer electronic device. The electronic device 10 may also includeany computer, peripheral device, camera, modem, storage device,telephone, personal digital assistant, and/or mobile phone. The stream12 of data may be any RF and/or digital content, such astelevision/cable programming, .mpg streams, or any other content. Thecommunications network 14 may be a cable network operating in theradio-frequency domain and/or the Internet Protocol (IP) domain. Thecommunications network 14, however, may also include a distributedcomputing network, such as the Internet (sometimes alternatively knownas the “World Wide Web”), an intranet, a local-area network (LAN),and/or a wide-area network (WAN). The communications network 14 mayinclude coaxial cables, copper wires, fiber optic lines, and/orhybrid-coaxial lines. The communications network 14 may even includewireless portions utilizing any portion of the electromagnetic spectrumand any signaling standard (such as the IEEE 802 family of standards).

As FIG. 1 shows, the electronic device 10 also detects or monitors thephysical presence of a user. The user is generally a person in thevicinity of the electronic device (such as in the same room) and who iswatching, listening to, or otherwise experiencing a movie, game, TVprogram, or other content represented by the stream 12 of data. The usermay be a customer, a subscriber, a viewer, a listener, or any otherperson experiencing content delivered to the electronic device 10. Apresence detection application 18 is a computer program that infers thepresence of the user. The presence detection application 18 stores inmemory 20 of the electronic device 10 and monitors or detects when theuser is present. The term “present” implies the user is watching,listening to, or otherwise experiencing the content represented by thestream 12 of data. If the user is experiencing the stream 12 of data,then the bandwidth allocated to that stream 12 of data is maintained.If, however, the user is not watching or otherwise experiencing thedelivered stream 12 of data, then perhaps bandwidth is being wasted. Thepresence detection application 18, then, may (or may not) conservebandwidth.

The presence detection application 18 predicts the presence of the user.The presence detection application 18 monitors inputs to the electronicdevice 10 and predicts when the user is present, thus justifying theallocated bandwidth. The presence detection application 18, for example,monitors inputs received via a user interface 22. The electronic device10 includes the user interface 22, and the user interface 22 providesdirect or menu-driven access to functions, features, and settings forthe electronic device 10. The user interface 22, for example, may be akeyboard, a keypad, control panel, soft-touch control buttons,voice-activated or voice-recognition software, graphical user interface,or any other means for inputting commands to the electronic device 10.Although the user interface 22 may be any means for inputting commands,FIG. 1 illustrates the user interface 22 as a wireless remote control24. The user interface 22 may include any combination of alphabetic,numeric, and iconic character buttons. The user interface 22 may alsoinclude cursor movement buttons that enable the user to scroll and tosequence through menu options. If the user is making inputs via the userinterface 22, then those inputs are a positive indication that the useris present and the allocated bandwidth is justified. If, however, noinputs are received over a period of time, then, as the followingparagraphs explain, the presence detection application 18 may or may notinfer that the user is or is not present. If the user is not watching,listening to, or otherwise experiencing the stream 12 of data, then theallocated bandwidth for the stream 12 of data may be reduced to conservenetwork resources.

FIG. 2 is a more detailed schematic illustrating exemplary embodiments.The electronic device 10 again receives the stream 12 of data via thecommunications network 14. Although the electronic device 10 may be anydevice, here the electronic device 10 is shown as a set-top box 30. Theset-top box 30 receives and decodes the stream 12 of data. The presencedetection application 18 is an algorithm stored in the memory 20 of theset-top box 30, and the presence detection application 18 monitors ordetects when the user is present. If the presence detection application18 infers that the user is present, then the presence detectionapplication 18 maintains the full-resolution of the stream 12 of data.If, however, the presence detection application 18 infers that the useris not watching, listening to, or otherwise experiencing the stream 12of data, then the allocated bandwidth for the stream 12 of data may bereduced to conserve network resources.

As FIG. 2 illustrates, the presence detection application 18 monitorsinputs received via the user interface 22. As the user makes channelchanges, cursor movements, volume commands, and other inputs via theuser interface 22, the presence detection application 18 accumulatesthose inputs in the memory 20. Again, while the user interface 22 may bea keyboard, keypad, control panel or other means for inputting commands,FIG. 2 illustrates the user interface 22 as the remote control 24. Aseach input to the remote control 24 is received, the input is stored inthe memory 20. The inputs may be stored as a log 32, with each entry 34describing at least the input and the time the input was entered,received, or logged. The inputs may be sequentially stored throughouttime. More likely, however, the inputs are stored during any period oftime from seconds to years, depending on the amount of available memory.When the memory allocated to the log 32 is filled, the log 32 wouldsequentially replace the earliest entry with the newest entry. The usermay even configure the memory 20 and the log 32 to select the amount ofmemory allocated to the log 32, and the presence detection application18 may prompt the user to increase memory allocation when the log 32 isnearly full.

The presence detection application 18 may also predict presence usinghistorical patterns. These historical patterns tell the presencedetection application 18 when to expect activity at the user interface22. When activity is expected, and inputs to the user interface 22 arereceived, then the presence detection application 18 may infer the useris present, thus justifying the allocated bandwidth. If, however, noinputs are received when expected, then perhaps the user is not presentand bandwidth is being wasted.

As FIG. 2 also illustrates, the presence detection application 18 mayaccess a historical pattern 36 of inputs. The historical pattern 36 ofinputs may be stored in a database that is locally maintained in thememory 20 of the electronic device 10. The historical pattern 36 ofinputs may be additionally or alternatively be stored at a remotelocation, such as a remote server 38 communicating with the electronicdevice 10 via the communications network 14. However the historicalpattern 36 of inputs is accessed, the historical pattern 36 of inputsstores historical information describing behavioral patterns of inputsto the user interface 22. The historical pattern 36 of inputs may beassociated with the individual user, such as a learned pattern of inputevents or some interval of time describing historical use associatedwith the user. The historical pattern 36 of inputs, however, mayadditionally or alternatively be a pattern of inputs collected from asample of users or collected from a population of users across a node,branch, region, or other grouping. The presence detection application 18may even itself analyze the log 32 of inputs, looking for any patternsof usage.

As the user makes inputs via the user interface 22 (e.g., the remotecontrol 24), the presence detection application 18 may analyze thoseinputs for trends. The user, for example, may have a history of makinginputs after a transition in content. When content programmingtransitions to an advertisement, the user may have a history of makingchannel or content changes after the transition. If the contenttransitions to an advertisement, but no inputs are received, thenperhaps the user is not present and bandwidth is being wasted. Thehistorical pattern 36 of inputs may, likewise, also indicate that, at acertain time of day, the user interface 22 usually receives inputs. Theuser, for example, may “surf” content near the top of the hour, whencontent providers typically transition programming offerings. If thattime of day passes with little or no inputs, then perhaps again the useris not present and bandwidth is being wasted. The presence detectionapplication 18 may thus predict presence of the user by comparinghistorical patterns to actual inputs received via the user interface 22.

The presence detection application 18 may also predict presence usingstate information 40. This state information 40 describes a currentstate of the stream 12 of data being received at the electronic device10. The state information 40 describes, at any particular moment intime, the content represented by the stream 12 of data. The stateinformation 40, for example, may describe programming timing andindicate that the stream 12 of data is currently near the middle (or anyother point) of a movie, TV program, song, or other content. The stateinformation 40 may also indicate top of the hour, bottom of the hour, orother advertisement insertion slots. The state information 40 may betransmitted by a service provider, content provider, head end, server,or any other entity and received at the electronic device 10 via thecommunications network 14. The state information 40 may be transmittedwith the stream 12 of data, or the state information 40 may beseparately transmitted as a timing signal. However the state information40 is received, the presence detection application 18 may receive andanalyze this state information 40 when predicting presence.

The state information 40 may include a program control informationsignal 42. The program control information signal 42 may be deliveredwith programming and other content received via the communicationsnetwork 14. The program control information signal 42 may be transmittedby a content provider, a network operations center, a headend, or anyother entity. The program control information signal 42 may contain adescription of the content or packages of content, such as channelnumber, program title, program length, program category, and start/endtimes. The program control information signal 42 may also contain menucontent, such as menu locations for messages, graphics and video, menucolors, text fonts, sizes, and styles, and other menu information. Theprogram control information signal 42 may also contain commands for theelectronic device 10 (e.g., the set-top box 30) and other informationrelevant to signal transmission.

As FIG. 2 also illustrates, the state information 40 may additionally oralternatively include advertisement insertion information 44. Theadvertisement insertion information 44 is used when inserting anadvertisement into the stream 12 of data. The advertisement insertioninformation 44 may be inserted at the headend and sent via thecommunications network 14 or embedded in the stream 12 of data (or otherprogram signal). The advertisement insertion information 44, forexample, may include “Q-tones” or other information that identifies apoint in the stream 12 of data in which an advertisement is inserted.The presence detection application 18 may interface with an MPEG decoder46 that is capable of detecting, decoding, and/or or hearing MPEGQ-tones within the stream 12 of data. As those of ordinary skill in theart understand, the Q tone provides the MPEG decoder 46 and/or thepresence detection application 18 with an advance indication of a pointin the content where an advertisement is inserted. The Q tone provides aset time (e.g., 30 or 60 seconds) after which the advertisement shouldbegin. Because Q-tones are well understood by those of ordinary skill inthe art, Q-tones will not be further explained.

The presence detection application 18 may also predict presence usingmodal information 48. This modal information 48 describes a current modeof operation for the electronic device 10. The modal information 48, forexample, may indicate that the electronic device 10 is currentlyoperating in a broadband mode (e.g., receiving the stream 12 of data viaa broadband connection to the communications network 14). The modalinformation 48 could additionally or alternatively indicate theelectronic device 10 is operating in a broadcast mode. The electronicdevice 10, for example, may be wirelessly receiving the stream 12 ofdata via an AM/FM/VHF/UHF transmission, via a CDMA/TDMA/GSM or variantsignaling standard, via an industrial, scientific, and medical band(ISM) (e.g., BLUETOOTH®) transmission, via a satellite transmission, viaany of the IEEE 802 family of standards, or via any portion of theelectromagnetic spectrum. The modal information 48 may additionally oralternatively indicate the electronic device 10 is operating in anauxiliary mode, such as receiving auxiliary content from a DVD/CD-ROM,VHS, digital recorder, or other memory storage component. The modalinformation 48 may additionally or alternatively indicate the electronicdevice 10 is operating in a gaming mode and, thus, receiving and/orvisually or audibly presenting a game. Whatever the mode of operation,the presence detection application 18 may use this modal information 48when predicting the presence of the user.

The presence detection application 20 then uses any of theabove-described information sources to predict presence. The presencedetection application 20 receives and analyzes the inputs received viathe user interface 22, the historical pattern 36 of inputs, the stateinformation 40, and/or the modal information 48. The presence detectionapplication 20 then intelligently predicts whether the user is currentlypresent and experiencing the stream 12 of data.

An example provides additional explanation. Suppose the electronicdevice 10 is in a broadband mode of operation and is receiving content.The state information 40 indicates the stream 12 of data is nearing themiddle of a three-hour movie. The state information 40 also includestiming information indicating that a top of the hour is approaching. Atthe top of the hour, the presence detection application 20 knows toexpect inputs to the user interface 22, based on trends from thehistorical pattern 36 of inputs. The historical pattern 36 of inputs,for example, indicates that the user, or a group of users, commonlymakes “surfs” or makes channel changes at the top of the hour, whenprogramming transitions to advertisements. Because the user is in themiddle of a commercial-free movie, however, the user may not normally“surf” content at the top of the hour. If the presence detectionapplication 20 heeded the historical information, the lack of inputs atthe top of the hour could erroneously indicate that the user is notpresent and that bandwidth is being wasted.

Yet the presence detection application 20 is more intelligent. Becausethe user is in the middle of a movie, the presence detection application18 may ignore historical information describing top-of-the-hour inputs.As the presence detection application 20 builds the log 32 of inputs,each entry 34 may be correlated with the corresponding state information40 and with the corresponding modal information 48. Such information maydescribe the operation of the electronic device 10, such as whether theinput was made after transition to a commercial, during acommercial-free movie, or during a gaming mode. If the state information40 indicates the electronic device 10 is receiving a movie withoutinserted ads, the presence detection application 18 may decide to ignorehistorical information. That is, if the state information 40 does notinclude ad insertion information, the presence detection application 18should not expect inputs to the user interface 22 at the top of thehour, at the bottom of the hour, or at other times of typical adinsertion. The presence detection application 18, instead, maintains thebandwidth allocated to the stream 12 of data, knowing that the user isin the middle of a commercial-free movie.

The presence detection application 18 thus helps conserve bandwidth.When the presence detection application 18 infers that the user ispresent, the allocated bandwidth for the stream 12 of data may bejustified and maintained. The presence detection application 18 makes nochange in the data rate of the stream 12 of data. That is, the stream 12of data is continually delivered at its full resolution, whatever thatfull resolution may be. When, however, the presence detectionapplication 18 infers that the user is not present, actions are taken toconserve bandwidth. If the presence detection application 18 cannotdetect or infer the presence of the user, then there may be no need tocommunicate a high-bandwidth stream 12 of data from the communicationsnetwork 14. As the following paragraphs will explain, when the presenceof the user cannot be predicted or detected, the presence detectionapplication 18 causes degradation in the stream 12 of data. The stream12 of data may be degraded to a reduced-resolution version to conservebandwidth. The stream 12 of data may even be terminated.

FIG. 3 is a schematic illustrating a bandwidth prompt 50, according toeven more exemplary embodiments. When the presence detection application18 infers that the user is not present, here the presence detectionapplication 18 may visually and/or audibly cause a display device 52(such as a television or monitor) to produce the bandwidth prompt 50.The bandwidth prompt 50, for example, may visually and/or audiblypresent a message 54, notifying the user that the high-resolutionversion of the stream 12 of data is about to be degraded, or eventerminated, unless the user responds. The presence detection application18 may recognize any input via the user interface 22 as an affirmativeresponse, thus confirming full-resolution is desired. That is, if theuser makes any input (such as pushing a button on the remote control24), then the presence detection application 18 knows that the user istruly present and the high-resolution version of the stream 12 of datashould be maintained.

When the bandwidth prompt 50 is presented, the presence detectionapplication 18 may even recognize any movement of the remote control 24as an affirmative response. That is, perhaps the remote control 24comprises an accelerometer or other movement or position sensor thatdetects movements, and such movement affirmatively indicates the user ispresent. The user interface 22 may additionally or alternativelycomprise any means for sensing movement, such as a gravity switch, amercury switch, a GPS transmitter or receiver, an infrared transmitteror receiver, any transmitter or receiver utilizing any portion of theelectromagnetic spectrum, or any device utilizing the Doppler Effect.The bandwidth prompt 50 may include a visual and/or audible timer thatcounts down the remaining time until degradation. If no response to thebandwidth prompt 50 is detected, then the presence detection application18 implements actions to reduce bandwidth.

FIG. 4 illustrates a reduced resolution message 56, according to yetmore exemplary embodiments. When the presence detection application 18infers that the user is not present, then bandwidth is possibly beingwasted. The presence detection application 18 may immediately takeactions to reduce bandwidth consumption. The presence detectionapplication 18 may additionally produce the bandwidth prompt (shown asreference numeral 50 in FIG. 3) to confirm the presence of the user.Regardless, when the presence detection application 18 is ready toconserve network resources, the presence detection application 18 sendsthe reduced resolution message 56 to a server 58. The stream 12 of datais sent by the server 58, and the reduced resolution message 56instructs the server 58 to reduce the resolution of the stream 12 ofdata. The server 58 receives the reduced resolution message 56 via thecommunications network 14.

FIG. 5 is a schematic illustrating transmission of a reduced resolutionstream 60 of data, according to exemplary embodiments. When the server58 receives the reduced resolution message 56, the server 58 implementsstrategies to conserve network resources. The reduced resolution message56 instructs the server 58 to reduce the resolution of the stream 12 ofdata. As FIG. 5 illustrates, the reduced resolution stream 60 of data isthen processed and sent from the server 58 to the set-top box 30 via thecommunications network 14. The reduced resolution stream 60 of data hasa reduced data rate measured in bytes per second. Because the reducedresolution stream 60 of data has a reduced data rate, the bandwidthallocated to the set-top box 30 may be reduced and reallocated to otheruses within the communications network 14. The reduced resolution stream60 of data may have reduced resolution audio and/or video portions toconserve bandwidth.

FIG. 6 is a schematic illustrating local retrieval of content, accordingto more exemplary embodiments. Here, when the presence detectionapplication 18 sends the reduced resolution message 56 to the server 58,the reduced resolution message 56 instructs the server 58 to terminatethe stream 12 of data. That is, the presence detection application 18instructs the server 58 to cease delivery of the full-resolution stream12 of data. The presence detection application 18, instead, locallyretrieves content from the memory 20 and causes that local content to bevisually and/or audibly presented to the user. When the presencedetection application 18 infers that the user is not present, thepresence detection application 18 ceases transmission of the stream 12of data for maximum reduction in bandwidth. The presence detectionapplication 18 then reverts to local content 62 retrieved from the localmemory 20. The local content 62 may be a movie, music, slide show,family photos, or any other file (having any format or extension). Thelocal content 62 still presents audio and/or video content, yet thelocal content 62 is not drawing or requiring bandwidth from thecommunications network 14. The local content 62 may be selected anddownloaded by a content provider, a service provider, or by a networkoperator. The local content 62 may also be selected and configurable bythe user.

The local content 62 may be advantageously selected. The presencedetection application 18, for example, may retrieve a promotion that islocally stored in the memory 20. The promotion encourages the user toselect or to tune to content, a product, or a service that might be ofinterest to the user. That content, product, or service could alsogenerate revenue for the network operator and/or the content provider.Perhaps, for example, the presence detection application 18 detects orinfers that the user is not present. The presence detection application18 may then terminate the stream 12 of data and, instead, retrieve apromotion channel from local memory. The promotion channel may promotevideo-on-demand services, special event programming, or otherpay-per-view programming that may appeal to the user. If the user ispresent and intrigued, the user may make a purchase.

The presence detection application 18 may implement other actions. Whenthe presence detection application 18 infers that the user is notpresent, then bandwidth is possibly being wasted. The presence detectionapplication 18 may immediately take actions to reduce bandwidthconsumption. The presence detection application 18 may assume the userhas left the room or fallen asleep and disable or “turn off” the screenand speakers. Whenever the presence detection application infers with ahigh probability that the user is not present, the presence detectionapplication 18 may lower the volume. If the user is present, the usershould be motivated to restore the volume or provoked to make some otherinput. The presence detection application 18 may be configured for otherscenarios that reduce bandwidth consumption.

FIG. 7 is a schematic illustrating the use of user preferences whenconserving bandwidth, according to more exemplary embodiments. Here,when the presence detection application 18 takes actions to conservebandwidth, the presence detection application 18 consults a database 64of user preferences. The database 64 of user preferences stores one ormore preferences 66 associated with the user. The database 64 of userpreferences may be locally stored in the memory 20 of the electronicdevice 10. The database 64 of user preferences may be additionally oralternatively be stored at a remote location, such as a remote server 68communicating with the electronic device 10 via the communicationsnetwork 14. These preferences 66 describe how the user wishes the stream12 of data to be degraded when conserving bandwidth. The user, forexample, may have a preference for an audio-only version of the stream12 of data, such that video portions are discarded or otherwise nottransmitted. The user may alternatively prefer a grainy video portionand/or a smaller sized resolution version of the stream 12 of data. Theuser may prefer that the stream 12 of data be terminated. How the userspecifies their preferences may depend on economic factors. If, forexample, the user pays a per-minute charge for broadband usage, the usermay prefer that the stream 12 of data be terminated when presence is notdetected. If the user pays according to data rate, then the user mayprefer that the stream 12 of data be degraded, or again even terminated,when conserving bandwidth. The network operator, service provider, orcontent provider may even provide incentives to conserve bandwidth.These incentives, for example, may cause the user to agree totermination or to degradation during peak demand times, designatedevents, network outages, or any other circumstances.

FIG. 8 is a schematic illustrating the restored, full-resolution stream12 of data, according to exemplary embodiments. The presence detectionapplication 18 may continually monitor for the presence of the user.When the presence of the user is redetected, or inferred, then thepresence detection application 18 causes a restoration in the data rate(e.g., bytes per second) of stream 12 of data. The presence detectionapplication 18 sends a restoration message 70 to the server 58, and therestoration message 70 instructs the server 58 to restore thefull-resolution data rate of the stream 12 of data. When the server 58receives the restoration message 70, the server 58 resumes sending thefull-resolution version of the stream 12 of data.

The presence detection application 18 may also send the restorationmessage 70 upon any input via the user interface 22. As the aboveparagraphs explained, the presence detection application 18 mayrecognize any input via the user interface 22 as an affirmativeindication of the presence of the user. As the electronic device 10receives the reduced resolution stream of data (shown as referencenumeral 60 in FIG. 5), the presence detection application 18 continuallymonitors for the presence of the user. Should the presence detectionapplication 18 infer the presence of the user, then the presencedetection application 18 restores the full-resolution version of thestream 12 of data. When, for example, the user makes any input via theuser interface 22 (such as pushing a button on the remote control 24)after bandwidth is conserved, then the presence detection application 18knows that the user is present and the high-resolution version of thestream 12 of data should be restored. The user, as earlier explained,may simply move the remote control 24 to indicate his or her presence.Such movement causes the presence detection application 18 to send therestoration message 70, thus instructing the server 58 to resume sendingthe full-resolution version of the stream 12 of data.

FIG. 9 is a schematic illustrating the use of tags, according to stillmore exemplary embodiments. Recall that when the presence detectionapplication 18 infers that the user is not present, the presencedetection application 18 sends the reduced resolution message 56 to theserver 58. The reduced resolution message 56 instructs the server 58 toreduce the resolution of the stream 12 of data. The server 58 thenprocesses and sends the reduced resolution stream of data (shown asreference numeral 60 in FIG. 5). The reduced resolution stream of datahas a reduced data rate measured in bytes per second. Here, however, thepresence detection application 18 also instructs the server 58 to markor tag the full-resolution version of the stream 12 of data. Thefull-resolution version of the stream 12 of data is tagged at the pointit was interrupted. A tag 72 is inserted into the full-resolutionversion of the stream 12 of data at the point in time at whichdegradation occurs. If the presence detection application 18 haserred—that is, the presence detection application 18 has incorrectlyinferred that the user is not present—then the presence detectionapplication 18 can return the user to the point in the stream 12 of dataprior to degradation. Should the user affirmatively respond to thebandwidth prompt (shown as reference numeral 50 in FIG. 3), make aninput via the user interface 22, move the remote control 24, or anyother action that indicates the user is present, then thefull-resolution version of the stream 12 of data is resumed from themoment or time denoted by the tag 72. The user need only pick up or movethe remote control 24 and the presence detection application 18 restoresto the previous state.

FIG. 10 is a schematic illustrating an alternative operating environmentfor the presence detection application 18, according to more exemplaryembodiments. Here the presence detection application 18 reducesbandwidth in a wide area network (WAN) 80 (such as the communicationsnetwork 14) and may also reduce bandwidth in a content supplier'snetwork 82. The presence detection application 18 entirely or partiallystores within the memory 20 of the electronic device 10. A complimentarypresence detection application 84 also operates within the contentsupplier's network 82 (such as within a content server 86). When theelectronic device 10 detects or infers that the user is not present, thepresence detection application 18 enters the low bandwidth state. Thereduced resolution message 56 is sent from the electronic device 10 tothe content supplier's network 82. The reduced resolution message 56routes through the wide area network 80 and informs the contentsupplier's network 82 of the low bandwidth state.

Here the content supplier's network 82 reduces bandwidth. A deviceoperating in the content supplier's network 82 (such as the contentserver 86) receives the reduced resolution message 56 and reduces thebit rate of the stream 12 of data. That is, the content supplier'snetwork 82 may discard bits to reduce resolution. The content supplier'snetwork 82, therefore, begins transmitting the reduced resolution stream60 of data having a reduced resolution. The reduced resolution stream 60of data routes through the wide area network 80 to the electronic device10. This solution, then, reduces bandwidth in the wide area network 80and may also reduce bandwidth in the content supplier's network 82.

FIG. 11 is a schematic illustrating a solution for a broadband remoteaccess server (BRAS) 90, according to even more exemplary embodiments.The broadband remote access server 90 sets policies for individual usersand each user's allowance of bandwidth consumption. The broadband remoteaccess server 90 also sets policies for individual sessions, regardlessof the user. Here, when the presence detection application 18 infersthat low-bandwidth is desired, a transaction is established with thebroadband remote access server 90. When the electronic device 10 (suchas the set-top box 30) detects or infers that the user is not present,the presence detection application 18 enters the low bandwidth state.The reduced resolution message 56 is sent from the set-top box 30 to thebroadband remote access server 90. The reduced resolution message 56routes through the wide area network 80 and informs the broadband remoteaccess server 90 of the low-bandwidth state.

The broadband remote access server 90 may itself reduce bandwidth. Whenthe broadband remote access server 90 receives the reduced resolutionmessage 56, the broadband remote access server 90 itself reduces the bitrate of the stream 12 of data. That is, the broadband remote accessserver 90 receives the full resolution stream 12 of data and discardsbits to reduce resolution. The broadband remote access server 90,therefore, begins transmitting the reduced resolution stream 60 of datahaving a reduced resolution. The reduced resolution stream 60 of dataroutes through the wide area network 80 to the electronic device 10.This solution reduces bandwidth in the wide area network 80, yet thissolution fails to reduce bandwidth in the content supplier's network 82.

FIG. 12 is a schematic further illustrating the broadband remote accessserver (BRAS) 90, according to still more exemplary embodiments. FIG. 12is similar to FIG. 11, although here the content supplier's network 82is instructed to reduce the resolution of the stream 12 of data. Whenthe electronic device 10 (such as the set-top box 30) detects or infersthat the user is not present, the presence detection application 18enters the low bandwidth state. The reduced resolution message 56, asbefore, routes from the electronic device 10, through the wide areanetwork 80, and to the broadband remote access server 90. The reducedresolution message 56 informs the broadband remote access server 90 ofthe low-bandwidth state.

The broadband remote access server 90 then instructs the contentsupplier to reduce the bit rate of the session. The broadband remoteaccess server 90 sends a message to the content supplier's network 82.The message is received by some controller (such as the content server86). The content server 86 then discards bits from the stream of data(shown as reference numeral 12 in FIG. 10). The message from thebroadband remote access server 90 may simply be a forwarded version ofthe reduced resolution message 56, as FIG. 12 illustrates. The messagefrom the broadband remote access server 90, however, may take any formand have any protocol. Whatever the form, the message instructs orinforms the content server 86 of the low-bandwidth need. The reducedresolution stream 60 of data, having a reduced resolution, routesthrough the wide area network 80 to the electronic device 10. Thissolution, then, reduces bandwidth in both the wide area network 80 andin the content supplier's network 82.

FIG. 13 is a block diagram of exemplary details of the electrical device10 shown in FIGS. 1-12. The electrical device 10 can be any device, suchas an analog/digital recorder, television, CD/DVD player/recorder, audioequipment, receiver, tuner, and/or any other consumer electronic device.The electrical device 10 may also include any computer, peripheraldevice, camera, modem, storage device, telephone, personal digitalassistant, and/or mobile phone. The electrical device 10 may also beconfigured as a set-top box (“STB”) receiver that receives and decodesdigital signals. The electrical device 10, in fact, can be anyelectronic/electrical device that has an input 100 for receiving thestream of data (shown as reference numeral 12 in FIGS. 1-11). The input100 may include a coaxial cable interface 102 for receiving signals viaa coaxial cable (not shown). The input 100 may additionally oralternatively include an interface to a fiber optic line, to a telephoneline (such as an RJ-48/56), to other wiring, and to any male/femalecoupling. The input 100 may even include a wireless transceiver unit forwirelessly receiving transmitted signals.

The electrical device 10 includes one or more processors 104 executinginstructions 106 stored in a system memory device. The instructions 106,for example, are shown residing in a memory subsystem 108. Theinstructions 106, however, could also reside in flash memory 110 or aperipheral storage device 112. When the processor 104 executes theinstructions 106, the processor 104 may also consult the presencedetection application 18 stored in the system memory device. The one ormore processors 104 may also execute an operating system that controlsthe internal functions of the electrical device 10. A bus 114 maycommunicate signals, such as data signals, control signals, and addresssignals, between the processor 104 and a controller 116. The controller116 provides a bridging function between the one or more processors 104,any graphics subsystem 118 (if desired), the memory subsystem 108, and,if needed, a peripheral bus 120. The peripheral bus 120 may becontrolled by the controller 116, or the peripheral bus 90 may have aseparate peripheral bus controller 122. The peripheral bus controller122 serves as an input/output hub for various ports. These ports includethe input terminal 100 and perhaps at least one output terminal. Theports may also include a serial and/or parallel port 124, a keyboardport 126, and a mouse port 128. The ports may also include one or moreexternal device ports 130, networking ports 132 (such as Ethernet), anda USB port 134.

The electrical device 10 may also include an audio subsystem 136. Theelectrical device 10 may also include a display device (such as LED,LCD, plasma, or any other) to present instructions, messages, tutorials,and other information to a user. The electrical device 10 may furtherinclude one or more encoders, one or more decoders, input/outputcontrol, logic, one or more receivers/transmitters/transceivers, one ormore clock generators, one or more Ethernet/LAN interfaces, one or moreanalog-to-digital converters, one or more digital-to-analog converters,one or more “Firewire” interfaces, one or more modem interfaces, and/orone or more PCMCIA interfaces. Those of ordinary skill in the artunderstand that the program, processes, methods, and systems describedherein are not limited to any particular architecture or hardware.

The processors 104 may be implemented with a digital signal processor(DSP) and/or a microprocessor. Advanced Micro Devices, Inc., forexample, manufactures a full line of microprocessors (Advanced MicroDevices, Inc., One AMD Place, P.O. Box 3453, Sunnyvale, Calif.94088-3453, 408.732.2400, 800.538.8450, www.amd.com). The IntelCorporation also manufactures a family of microprocessors (IntelCorporation, 2200 Mission College Blvd., Santa Clara, Calif. 95052-8119,408.765.8080, www.intel.com). Other manufacturers also offermicroprocessors. Such other manufacturers include Motorola, Inc. (1303East Algonquin Road, P.O. Box A3309 Schaumburg, Ill. 60196,www.Motorola.com), International Business Machines Corp. (New OrchardRoad, Armonk, N.Y. 10504, (914) 499-1900, www.ibm.com), and TransmetaCorp. (3940 Freedom Circle, Santa Clara, Calif. 95054,www.transmeta.com). Texas Instruments offers a wide variety of digitalsignal processors (Texas Instruments, Incorporated, P.O. Box 660199,Dallas, Tex. 75266-0199, Phone: 972-995-2011, www.ti.com) as well asMotorola (Motorola, Incorporated, 1303 E. Algonquin Road, Schaumburg,Ill. 60196, Phone 847-576-5000, www.motorola.com). There are, in fact,many manufacturers and designers of digital signal processors,microprocessors, controllers, and other componentry that are describedin this patent. Those of ordinary skill in the art understand that thiscomponentry may be implemented using any suitable design, architecture,and manufacture. Those of ordinary skill in the art, then understandthat the exemplary embodiments are not limited to any particularmanufacturer's component, or architecture, or manufacture.

The memory (shown as memory subsystem 108, flash memory 110, orperipheral storage device 112) may also contain an application program.The application program cooperates with the operating system and with avideo display device to provide a Graphical User Interface (GUI). Thegraphical user interface provides a convenient visual and/or audibleinterface with a user of the electrical device 10.

FIG. 14 is a schematic illustrating still more exemplary embodiments.FIG. 14 illustrates that the electronic device 10 may include varioustypes of devices. The presence detection application 18 operates withinany of these various types of devices. FIG. 14, for example, illustratesthat the presence detection application 18 may entirely or partiallyoperate within a personal digital assistant (PDA) 140, a GlobalPositioning System (GPS) device 141, an interactive television 142, anInternet Protocol (IP) phone 143, a pager 144, a cellular/satellitephone 145, or any computer system and/or communications device utilizinga digital signal processor (DSP) 146. The electronic device 10 may alsoinclude watches, radios, vehicle electronics, clocks, printers,gateways, and other apparatuses and systems.

FIGS. 15-17 are schematics further illustrating the electronic device 10storing the presence detection application 18, according to exemplaryembodiments. FIG. 15 is a block diagram of a Subscriber Identity Module150, while FIGS. 16 and 17 illustrate, respectively, the SubscriberIdentity Module 150 embodied in a plug 152 and the Subscriber IdentityModule 150 embodied in a card 154. As those of ordinary skill in the artrecognize, the Subscriber Identity Module 150 may be used in conjunctionwith many electronic devices (such as the electronic devices shown inFIG. 14). The Subscriber Identity Module 150 stores user information(such as the user's International Mobile Subscriber Identity, the user'sK; number, and other user information) and any portion of the presencedetection application 18. As those of ordinary skill in the art alsorecognize, the plug 152 and the card 154 each interface with thecommunications device according to GSM Standards 2.17 and 11.11 and ISOStandard 7816, with each incorporated herein by reference. The GSMStandard 2.17 is formally known as “European digital cellulartelecommunications system (Phase 1); Subscriber Identity Modules,Functional Characteristics (GSM 02.17 V3.2.0 (1995-01)).” The GSMStandard 11.11 is formally known as “Digital cellular telecommunicationssystem (Phase 2+) (GSM); Specification of the Subscriber IdentityModule—Mobile Equipment (Subscriber Identity Module—ME) interface (GSM11.11 V5.3.0 (1996-07)).” Both GSM standards are available from theEuropean Telecommunication Standards Institute (650 route des Lucioles,06921 Sophia-Antipolis Cedex, FRANCE, Tel.: +33 (0)4 92 94 42 00, Fax:+33 (0)4 93 65 47 16, www.etsi.org). The ISO Standard 7816 is formallyknown as “Information technology—Identification cards—Integratedcircuit(s) cards with contacts,” and the standard is available from theInternational Organization for Standardization (ISO) (1, rue de Varembe,Case, postale 56CH-1211 Geneva 20, Switzerland, Telephone +41 22 749 0111, Telefax +41 22 733 34 30, www.iso.org).

FIG. 15 is a block diagram of the Subscriber Identity Module 150,whether embodied as the plug 152 of FIG. 16 or as the card 154 of FIG.17. Here the Subscriber Identity Module 150 comprises a microprocessor156 communicating with memory modules 158 via a data bus 160. The memorymodules may include Read Only Memory (ROM) 162, Random Access Memory(RAM) and or flash memory 164, and Electrically Erasable-ProgrammableRead Only Memory (EEPROM) 166. The Subscriber Identity Module 150 storessome or all of the presence detection application 18 in one or more ofthe memory modules 158. FIG. 15 shows the presence detection application18 residing in the Erasable-Programmable Read Only Memory 166, yet thepresence detection application 18 could alternatively or additionallyreside in the Read Only Memory 162 and/or the Random Access/Flash Memory164. An Input/Output module 168 handles communication between theSubscriber Identity Module 150 and the electronic device. As thoseskilled in the art will appreciate, there are many suitable ways forimplementing the operation and physical/memory structure of theSubscriber Identity Module. If, however, the reader desires moreinformation on the Subscriber Identity Module, the reader is directed tothe following sources: LAWRENCE HARTE et al., GSM SUPERPHONES 99-100,113-14 (1999); SIEGMUND REDL et al., GSM AND PERSONAL COMMUNICATIONSHANDBOOK 303-69 (1998); and JOACHIM TISAL, GSM CELLULAR RADIO TELEPHONY99-130 (1997), with each incorporated herein by reference.

FIG. 18 is a schematic further illustrating the electronic device 10,according to exemplary embodiments. FIG. 18 is an alternative blockdiagram of the electronic device 10 storing the presence detectionapplication 18. Here the electronic device 10 comprises a radiotransceiver unit 172, an antenna 174, a digital baseband chipset 176,and a man/machine interface (MMI) 178. The transceiver unit 172 includestransmitter circuitry 180 and receiver circuitry 182 for receiving andtransmitting signals. The transceiver unit 172 couples to the antenna174 for converting electrical current to and from electromagnetic waves.The digital baseband chipset 176 contains a digital signal processor(DSP) 184 and performs signal processing functions for audio (voice)signals and RF signals. As FIG. 14 shows, the digital baseband chipset176 may also include an on-board microprocessor 186 that interacts withthe man/machine interface (MMI) 178. The man/machine interface (MMI) 178may comprise a display device 188, a keypad 190, and the SubscriberIdentity Module 150.

The on-board microprocessor 186 performs GSM protocol functions andcontrol functions for the radio circuitry 180 and 182, for the displaydevice 188, and for the keypad 190. The on-board microprocessor 186 mayalso interface with the Subscriber Identity Module 150 and with thepresence detection application 18 residing in the memory module 158 ofthe Subscriber Identity Module 150. Those skilled in the art willappreciate that there may be many suitable architectural configurationsfor the elements of the electronic device 10. If the reader desires amore detailed explanation, the reader is invited to consult thefollowing sources: LAWRENCE HARTE et al., GSM SUPERPHONES 105-120(1999); SIEGMUND REDL et al., GSM AND PERSONAL COMMUNICATIONS HANDBOOK389-474 (1998); and JOACHIM TISAL, GSM CELLULAR RADIO TELEPHONY 99-130(1997), with each incorporated herein by reference.

The presence detection application 18 may be utilized regardless ofsignaling standard. As those of ordinary skill in the art recognize,FIGS. 15-18 illustrate the electronic device 10 utilizing a GlobalSystem for Mobile (GSM) standard. That is, the electronic device 10utilizes the Global System for Mobile (GSM) communications signalingstandard. Those of ordinary skill in the art, however, also recognizethat the presence detection application 18 may be utilized with the TimeDivision Multiple Access signaling standard, the Code Division MultipleAccess signaling standard, the “dual-mode” GSM-ANSI InteroperabilityTeam (GAIT) signaling standard, or any variant of the GSM/CDMA/TDMAsignaling standard.

FIG. 19 is a flowchart illustrating a method of conserving bandwidth,according to exemplary embodiments. Inputs to a user interface areaccumulated in memory (Block 200). State information is received, andthe state information comprises advertisement insertion information(Block 202). The accumulated inputs are compared to a historical patternof inputs (Block 204). The historical pattern of inputs describes anexpected activity of inputs occurring after a transition in content(Block 206). When inputs are accumulated, the method predicts that auser is present (Block 208). When inputs are expected, but no inputs arereceived during transition to an advertisement, then the method predictsthat no user is present and conserves bandwidth (Block 210). Apreference of the user may be retrieved for conserving bandwidth (Block212). A message may be sent that ceases delivery of a stream of data andretrieves content locally stored in memory (Block 214). A message mayadditionally or alternatively be sent that reduces resolution of a videoportion of a received stream of data (Block 216). A stream of data maybe tagged to indicate a point at which the stream was degraded toconserve bandwidth (Block 218). If an input is received after bandwidthis conserved, then full resolution of a stream of d ta is resumed (Block220).

The presence detection application 18 may be physically embodied on orin a computer-readable medium. This computer-readable medium may includeCD-ROM, DVD, tape, cassette, floppy disk, memory card, andlarge-capacity disk (such as IOMEGA®, ZIP®, JAZZ®, and otherlarge-capacity memory products (IOMEGA®, ZIP®, and JAZZ® are registeredtrademarks of Iomega Corporation, 1821 W. Iomega Way, Roy, Utah 84067,801.332.1000, www.iomega.com). This computer-readable medium, or media,could be distributed to end-users, licensees, and assignees. These typesof computer-readable media, and other types not mention here butconsidered within the scope of the embodiments, allow the presencedetection application 18 to be easily disseminated. A computer programproduct for conserving bandwidth comprises the computer-readable medium,and the presence detection application stores on the computer-readablemedium. The presence detection application comprises computer code fordetecting, inferring, and/or predicting the physical presence of a user.If the physical presence of the user is determined, then afull-resolution stream of data is delivered to an electrical device. If,however, the physical presence of the user cannot be detected, inferred,or predicted, then the resolution of the stream of data is reduced, orthe stream is even terminated, to conserve bandwidth.

The presence detection application 18 may also be physically embodied onor in any addressable (e.g., HTTP, IEEE 802.11, Wireless ApplicationProtocol (WAP)) wire line or wireless device capable of presenting an IPaddress. Examples could include a computer, a wireless personal digitalassistant (PDA), an Internet Protocol mobile phone, or a wireless pager.

While the exemplary embodiments have been described with respect tovarious features, aspects, and embodiments, those skilled and unskilledin the art will recognize the exemplary embodiments are not so limited.Other variations, modifications, and alternative embodiments may be madewithout departing from the spirit and scope of the exemplaryembodiments.

What is claimed is:
 1. A method, comprising: monitoring, via a processorover a period of time, program state information for content streamed toan electronic device; accumulating, in a memory device via theprocessor, inputs received over the period of time from a user of theelectronic device, each of the inputs correlated to the program stateinformation based on a location in the content at which thecorresponding input occurred; identifying patterns of user behaviorbased on collective correlations between the inputs and the programstate information; determining, from the patterns, a presence or absenceof the user at the electronic device with respect to currently streamedcontent, the determining comprising identifying a first pattern of userbehavior in which no input is received from the user, and the locationin the content indicates the currently streamed content iscommercial-free content, and determining from the first pattern of userbehavior that a next input from the user is not expected for a durationof the commercial-free content; and performing a bandwidth controloperation with respect to the currently streamed content based on thedetermining, wherein upon determining the user is not present at theelectronic device, the bandwidth control operation includes reducing acurrent allocation of bandwidth to the electronic device.
 2. The methodof claim 1, wherein upon determining the user is present at theelectronic device, the bandwidth control operation includes maintaininga current allocation of bandwidth to the electronic device.
 3. Themethod of claim 1, wherein upon determining the user is not present atthe electronic device, transmitting a prompt to the electronic devicenotifying the user that a bandwidth reduction operation will beimplemented for the electronic device unless an input is received fromthe user.
 4. The method of claim 1, wherein the location in the contentindicates an advertisement insertion slot.
 5. The method of claim 1,wherein the location in the content is a time indicator reflecting apoint in time ranging from a program beginning to a program ending. 6.The method of claim 1, further comprising: monitoring, over the periodof time, program control information for each program of the contentstreamed to the electronic device, wherein each of the inputs iscorrelated to the program control information, the program controlinformation including a channel of the program, a title of the program,and a duration of the program; and identifying patterns of user behaviorbased on collective correlations between the inputs and the programcontrol information; wherein the patterns of user behavior based oncollective correlations between the inputs and the program controlinformation are used to further determine the presence or absence of theuser at the electronic device.
 7. A device, comprising: a memorycomprising computer-executable instructions; and a processor executingthe computer-executable instructions, the computer-executableinstructions when executed by the processor cause the processor toperform operations comprising: monitoring, over a period of time,program state information for content streamed to an electronic device;accumulating, in the memory, inputs received over the period of timefrom a user of the electronic device, each of the inputs correlated tothe program state information based on a location in the content atwhich the corresponding input occurred; identifying patterns of userbehavior based on collective correlations between the inputs and theprogram state information; determining, from the patterns, a presence orabsence of the user at the electronic device with respect to currentlystreamed content, the determining comprising identifying a first patternof user behavior in which no input is received from the user, and thelocation in the content indicates the currently streamed content iscommercial-free content, and determining from the first pattern of userbehavior that a next input from the user is not expected for a durationof the commercial-free content; and performing a bandwidth controloperation with respect to the currently streamed content based on thedetermining, wherein upon determining the user is not present at theelectronic device, the bandwidth control operation includes reducing acurrent allocation of bandwidth to the electronic device.
 8. The deviceof claim 7, wherein upon determining the user is present at theelectronic device, the bandwidth control operation includes maintaininga current allocation of bandwidth to the electronic device.
 9. Thedevice of claim 7, wherein upon determining the user is not present atthe electronic device, transmitting a prompt to the electronic devicenotifying the user that a bandwidth reduction operation will beimplemented for the electronic device unless an input is received fromthe user.
 10. The device of claim 7, wherein the location in the contentindicates an advertisement insertion slot.
 11. The device of claim 7,wherein the location in the content is a time indicator reflecting apoint in time ranging from a program beginning to a program ending. 12.The device of claim 7, wherein the operations further include:monitoring, over the period of time, program control information foreach program of the content streamed to the electronic device, whereineach of the inputs is correlated to the program control information, theprogram control information including a channel of the program, a titleof the program, and a duration of the program; and identifying patternsof user behavior based on collective correlations between the inputs andthe program control information; wherein the patterns of user behaviorbased on collective correlations between the inputs and the programcontrol information are used to further determine the presence orabsence of the user at the electronic device.
 13. A computer programproduct embodied on a non-transitory computer readable medium, thecomputer program product including instructions that, when executed by acomputer, causes the computer to perform operations comprising:monitoring, over a period of time, program state information for contentstreamed to an electronic device; accumulating, in a memory device,inputs received over the period of time from a user of the electronicdevice, each of the inputs correlated to the program state informationbased on a location in the content at which the corresponding inputoccurred; identifying patterns of user behavior based on collectivecorrelations between the inputs and the program state information;determining, from the patterns, a presence or absence of the user at theelectronic device with respect to currently streamed content, thedetermining comprising identifying a first pattern of user behavior inwhich no input is received from the user, and the location in thecontent indicates the currently streamed content is commercial-freecontent, and determining from the first pattern of user behavior that anext input from the user is not expected for a duration of thecommercial-free content; and performing a bandwidth control operationwith respect to the currently streamed content based on the determining,wherein upon determining the user is not present at the electronicdevice, the bandwidth control operation includes reducing a currentallocation of bandwidth to the electronic device.
 14. The computerprogram product of claim 13, wherein upon determining the user ispresent at the electronic device, the bandwidth control operationincludes maintaining a current allocation of bandwidth to the electronicdevice.
 15. The computer program product of claim 13, wherein upondetermining the user is not present at the electronic device,transmitting a prompt to the electronic device notifying the user that abandwidth reduction operation will be implemented for the electronicdevice unless an input is received from the user.
 16. The computerprogram product of claim 13, wherein the location in the contentindicates one of an advertisement insertion slot and a time indicatorreflecting a point in time ranging from a program beginning to a programending.
 17. The computer program product of claim 13, wherein theoperations further include: monitoring, over the period of time, programcontrol information for each program of the content streamed to theelectronic device, wherein each of the inputs is correlated to theprogram control information, the program control information including achannel of the program, a title of the program, and a duration of theprogram; and identifying patterns of user behavior based on collectivecorrelations between the inputs and the program control information;wherein the patterns of user behavior based on collective correlationsbetween the inputs and the program control information are used tofurther determine the presence or absence of the user at the electronicdevice.